package com.example.expandablelistview;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.ExpandableListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;

import com.example.expandablelistview.actionbar.ActionBarEx;
import com.example.expandablelistview.actionbar.ActionBarOverlay;
import com.example.expandablelistview.actionbar.ActionBarShowHide;
import com.example.expandablelistview.actionbar.ActionBarSplit;
import com.example.expandablelistview.actionbar.ActionModeTest;
import com.example.expandablelistview.actionbar.ActionProviderEx;
import com.example.expandablelistview.actionbar.ActionSwitch;
import com.example.expandablelistview.actionbar.ActionTab;
import com.example.expandablelistview.actionbar.ActionTabViewPager;
import com.example.expandablelistview.actionbar.ActionView;
import com.example.expandablelistview.actionbar.AppLogoIcon;
import com.example.expandablelistview.actionbar.DisplayOption;
import com.example.expandablelistview.actionbar.NoActionBar;
import com.example.expandablelistview.actionbar.ShareAction;
import com.example.expandablelistview.activity.CallActivity;
import com.example.expandablelistview.activity.CallAdd;
import com.example.expandablelistview.activity.CallOther;
import com.example.expandablelistview.activity.Commactivity;
import com.example.expandablelistview.activity.SaveState01;
import com.example.expandablelistview.advwidget.ProgressBarEx;
import com.example.expandablelistview.advwidget.ProgressTitle;
import com.example.expandablelistview.advwidget.ProgressTitle2;
import com.example.expandablelistview.animation.ActAnim;
import com.example.expandablelistview.animation.AnimAttr;
import com.example.expandablelistview.animation.AnimCustom;
import com.example.expandablelistview.animation.AnimSet;
import com.example.expandablelistview.animation.AnimationEx;
import com.example.expandablelistview.animation.FrameAni;
import com.example.expandablelistview.animation.ListAnim;
import com.example.expandablelistview.animation.ListAnimReverse;
import com.example.expandablelistview.animation.TextSwitcherEx;
import com.example.expandablelistview.animation.TweenListener;
import com.example.expandablelistview.animation.ViewFlipperEx;
import com.example.expandablelistview.basicwidget.ArrowButton;
import com.example.expandablelistview.basicwidget.ButtonDrawable;
import com.example.expandablelistview.basicwidget.ButtonSelector;
import com.example.expandablelistview.basicwidget.EditSelect;
import com.example.expandablelistview.basicwidget.ImageButtonEx;
import com.example.expandablelistview.basicwidget.ImageViewAttr;
import com.example.expandablelistview.basicwidget.InputTypeTest;
import com.example.expandablelistview.basicwidget.NoNinePatch;
import com.example.expandablelistview.basicwidget.RadioCheck;
import com.example.expandablelistview.basicwidget.ScaleTypeEx;
import com.example.expandablelistview.basicwidget.ShowHideKey;
import com.example.expandablelistview.br.BatterySDCardTest;
import com.example.expandablelistview.br.BroadcastReceiverEx;
import com.example.expandablelistview.br.DetectFree;
import com.example.expandablelistview.br.DynamicBR;
import com.example.expandablelistview.br.MyBroadcastSenderIntentEx;
import com.example.expandablelistview.clip.ClipBoard;
import com.example.expandablelistview.cp.CallWordCP;
import com.example.expandablelistview.cp.EnglishWord;
import com.example.expandablelistview.cp.EnglishWordEx;
import com.example.expandablelistview.cp.EnglishWord_CursorLoader;
import com.example.expandablelistview.cp.EnglishWord_CursorLoader_Adapter;
import com.example.expandablelistview.cp.ProductList;
import com.example.expandablelistview.cp.ProductList_CursorLoader;
import com.example.expandablelistview.cp.ProductList_CursorLoader_Adapter;
import com.example.expandablelistview.customwidget.AttributeEx;
import com.example.expandablelistview.customwidget.Measuring;
import com.example.expandablelistview.customwidget.NumEdit;
import com.example.expandablelistview.customwidget.SoundEdit;
import com.example.expandablelistview.customwidget.SoundEdit2;
import com.example.expandablelistview.dialog.AlertDialogBtn;
import com.example.expandablelistview.dialog.AlertDialogCancelable;
import com.example.expandablelistview.dialog.AlertDialogEx;
import com.example.expandablelistview.dialog.AlertDialogTouchOutSide;
import com.example.expandablelistview.dialog.DialogEx;
import com.example.expandablelistview.draw.BlurFilter;
import com.example.expandablelistview.draw.Reflection;
import com.example.expandablelistview.draw.Reflection2;
import com.example.expandablelistview.dto.DTOExpandableListView;
import com.example.expandablelistview.fileio.EditPrefsActivity;
import com.example.expandablelistview.fileio.FileIO;
import com.example.expandablelistview.fileio.PrefActivity;
import com.example.expandablelistview.fileio.PrefTest;
import com.example.expandablelistview.fileio.SDCard;
import com.example.expandablelistview.fileio.SettingsActivity;
import com.example.expandablelistview.fragmentdialog.AlertDialogFragment;
import com.example.expandablelistview.fragmentdialog.DlgCheckFrg;
import com.example.expandablelistview.fragmentdialog.DlgCustomFrg;
import com.example.expandablelistview.fragmentdialog.DlgListFrg;
import com.example.expandablelistview.fragmentdialog.DlgQuestFrg;
import com.example.expandablelistview.fragmentdialog.DlgRadioFrg;
import com.example.expandablelistview.fragmentdialog.PopUpWindowEx;
import com.example.expandablelistview.fragmentdialog.PreCreateDialog;
import com.example.expandablelistview.gesture.CustomGesture;
import com.example.expandablelistview.gesture.GestureDump;
import com.example.expandablelistview.gesture.GestureNavi;
import com.example.expandablelistview.gesture.GestureOverlay;
import com.example.expandablelistview.gesture.PinchZoom;
import com.example.expandablelistview.gesture.TouchDump;
import com.example.expandablelistview.listview.CursorAdapterEx;
import com.example.expandablelistview.listview.ExpandableListViewEx;
import com.example.expandablelistview.listview.ListAddDelSingleChoice;
import com.example.expandablelistview.listview.ListIconText;
import com.example.expandablelistview.listview.ListViewCode;
import com.example.expandablelistview.listview.ListViewXml;
import com.example.expandablelistview.listview.SpinnerEx;
import com.example.expandablelistview.menu.ContextMenuEx;
import com.example.expandablelistview.menu.MenuChange;
import com.example.expandablelistview.menu.MenuCheck;
import com.example.expandablelistview.menu.OptionMenu;
import com.example.expandablelistview.menu.OptionMenuXml;
import com.example.expandablelistview.menu.PopupMenuEx;
import com.example.expandablelistview.network.ConMgr;
import com.example.expandablelistview.network.DownloadManagerEx;
import com.example.expandablelistview.network.HtmlRead;
import com.example.expandablelistview.network.RemoteImage;
import com.example.expandablelistview.network.WebService;
import com.example.expandablelistview.network.WebServiceGet;
import com.example.expandablelistview.network.WebServicePost;
import com.example.expandablelistview.noti.AlarmTest;
import com.example.expandablelistview.noti.NapAlarm;
import com.example.expandablelistview.parser.MainXml;
import com.example.expandablelistview.resource.ReadResource;
import com.example.expandablelistview.resource.ReadResource2;
import com.example.expandablelistview.resource.StyleTest;
import com.example.expandablelistview.resourcemgn.DisplayMetricsTest;
import com.example.expandablelistview.service.BoundServiceTest;
import com.example.expandablelistview.service.MessengerServiceTest;
import com.example.expandablelistview.service.MusicServiceTest;
import com.example.expandablelistview.service.NewsController;
import com.example.expandablelistview.thread.HandlerEx;
import com.example.expandablelistview.thread.HandlerPostEx;
import com.example.expandablelistview.thread.Handler_DivideEx;
import com.example.expandablelistview.thread.Handler_Divide_ObtainEx;
import com.example.expandablelistview.thread.Handler_runOnUiThreadEx;
import com.example.expandablelistview.thread.LongTime2;
import com.example.expandablelistview.thread.LongTime3;
import com.example.expandablelistview.thread.LongTime4;
import com.example.expandablelistview.thread.LongTime5;
import com.example.expandablelistview.thread.ThreadEx;

public class MainActivity extends ExpandableListActivity{
	
	private List<DataHeader> totalLists;
	private List<Map<String, String>> headerTitles;
	private List<List<Map<String,  String>>> subListTitles;
		
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		totalLists = new ArrayList<DataHeader>();
		
		onCreateData();
		
		headerTitles = new ArrayList<Map<String, String>>();
		subListTitles = new ArrayList<List<Map<String, String>>>();
		
		for(int i=0;i<totalLists.size();i++) {
			Map<String, String> type = new HashMap<String, String>();
			type.put("chapter", totalLists.get(i).headerTitle);
			headerTitles.add(type);
			
			List<Map<String, String>> subInfo = new ArrayList<Map<String, String>>();
			for(int j=0;j<totalLists.get(i).subList.size();j++) {
				Map<String, String> name = new HashMap<String, String>();
				name.put("subTitle", totalLists.get(i).subList.get(j).subTitle);
				name.put("subClass", totalLists.get(i).subList.get(j).clsInfo.getName());
				subInfo.add(name);
			}
			subListTitles.add(subInfo);
		}

		ExpandableListAdapter adapter = new SimpleExpandableListAdapter(
			this,
			headerTitles, 
			android.R.layout.simple_expandable_list_item_1,
			new String[] { "chapter" }, 
			new int[] { android.R.id.text1 }, 
			subListTitles,
			android.R.layout.simple_expandable_list_item_1,
			new String[] { "subTitle" },
			new int[] { android.R.id.text1 }
		);
		setListAdapter(adapter);
	}

	
	@Override
	public boolean onChildClick(ExpandableListView parent, View v,
			int groupPosition, int childPosition, long id) {
		super.onChildClick(parent, v, groupPosition, childPosition, id);
		
		try {
			Class<?> cls=Class.forName(subListTitles.get(groupPosition).get(childPosition).get("subClass"));
			startActivity(new Intent(this, cls));
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		return true;
	}


	protected void onCreateData() {
		List<DataChild> subList = new ArrayList<DataChild>();
		subList.add(new DataChild("확장리스트", DTOExpandableListView.class));
		totalLists.add(new DataHeader("제8장", subList));
		
		List<DataChild> subListMenu = new ArrayList<DataChild>();
		subListMenu.add(new DataChild("옵션 메뉴", OptionMenu.class));
		subListMenu.add(new DataChild("옵션 메뉴(XML)", OptionMenuXml.class));
		subListMenu.add(new DataChild("컨텍스트 메뉴", ContextMenuEx.class));
		subListMenu.add(new DataChild("팝업 메뉴", PopupMenuEx.class));
		subListMenu.add(new DataChild("메뉴 편집", MenuCheck.class));
		subListMenu.add(new DataChild("메뉴 변경", MenuChange.class));
		totalLists.add(new DataHeader("메뉴", subListMenu));
		
		List<DataChild> subListRes = new ArrayList<DataChild>();
		subListRes.add(new DataChild("String, Color, Dimen", ReadResource.class));
		subListRes.add(new DataChild("String, Color, Dimen - XML", ReadResource2.class));
		subListRes.add(new DataChild("Style", StyleTest.class));
		totalLists.add(new DataHeader("리소스", subListRes));
		
		List<DataChild> subListBasicWidget = new ArrayList<DataChild>();
		subListBasicWidget.add(new DataChild("커서및 선택관리", EditSelect.class));
		subListBasicWidget.add(new DataChild("키보드 관리", InputTypeTest.class));
		subListBasicWidget.add(new DataChild("키보드", ShowHideKey.class));
		subListBasicWidget.add(new DataChild("나인패치미적용", NoNinePatch.class));
		subListBasicWidget.add(new DataChild("화살표", ArrowButton.class));
		subListBasicWidget.add(new DataChild("라디오,체크박스,토글버튼", RadioCheck.class));
		subListBasicWidget.add(new DataChild("스케일 타입", ScaleTypeEx.class));
		subListBasicWidget.add(new DataChild("이미지 뷰 확대 모드", ImageViewAttr.class));
		subListBasicWidget.add(new DataChild("이미지 버튼", ImageButtonEx.class));
		subListBasicWidget.add(new DataChild("이미지 버튼 속성", ButtonDrawable.class));
		subListBasicWidget.add(new DataChild("버튼 Selector", ButtonSelector.class));
		totalLists.add(new DataHeader("기본 위젯", subListBasicWidget));
		
		List<DataChild> subListCustomWidget = new ArrayList<DataChild>();
		subListCustomWidget.add(new DataChild("기존컨트롤수정", SoundEdit.class));
		subListCustomWidget.add(new DataChild("위젯 조합", NumEdit.class));
		subListCustomWidget.add(new DataChild("커스텀 속성", AttributeEx.class));
		subListCustomWidget.add(new DataChild("커스텀 속성2", SoundEdit2.class));
		subListCustomWidget.add(new DataChild("새로운 위젯", Measuring.class));
		totalLists.add(new DataHeader("커스텀 위젯", subListCustomWidget));
		
		List<DataChild> subListResourceMgn = new ArrayList<DataChild>();
		subListResourceMgn.add(new DataChild("화면 정보", DisplayMetricsTest.class));
		totalLists.add(new DataHeader("리소스 관리", subListResourceMgn));
		
		List<DataChild> subListDialog = new ArrayList<DataChild>();
		subListDialog.add(new DataChild("Dialog", DialogEx.class));
		subListDialog.add(new DataChild("Alert Dialog", AlertDialogEx.class));
		subListDialog.add(new DataChild("Alert Dialog Button", AlertDialogBtn.class));
		subListDialog.add(new DataChild("Alert Dialog Cancelable", AlertDialogCancelable.class));
		subListDialog.add(new DataChild("Alert Dialog TouchOutSide", AlertDialogTouchOutSide.class));
		totalLists.add(new DataHeader("대화 상자", subListDialog));
		
		List<DataChild> subListFragmentDialog = new ArrayList<DataChild>();
		subListFragmentDialog.add(new DataChild("Fragment Dialog", PreCreateDialog.class));
		subListFragmentDialog.add(new DataChild("Fragment Dialog2", AlertDialogFragment.class));
		subListFragmentDialog.add(new DataChild("대화상자 활용", DlgQuestFrg.class));
		subListFragmentDialog.add(new DataChild("목록 대화상자", DlgListFrg.class));
		subListFragmentDialog.add(new DataChild("라디오 대화상자", DlgRadioFrg.class));
		subListFragmentDialog.add(new DataChild("체크박스 대화상자", DlgCheckFrg.class));
		subListFragmentDialog.add(new DataChild("커스텀 대화상자", DlgCustomFrg.class));
		subListFragmentDialog.add(new DataChild("팝업 윈도우", PopUpWindowEx.class));
		totalLists.add(new DataHeader("프래그먼트 대화상자", subListFragmentDialog));
		
		/*작업중*/
		List<DataChild> subListAvdWidget = new ArrayList<DataChild>();
		subListAvdWidget.add(new DataChild("프로그래스 바", ProgressBarEx.class));
		subListAvdWidget.add(new DataChild("프로그래스바 타이틀", ProgressTitle.class));
		subListAvdWidget.add(new DataChild("원형프로그래스바 타이틀",ProgressTitle2.class));
		totalLists.add(new DataHeader("고급 위젯", subListAvdWidget));
		
		List<DataChild> subListView = new ArrayList<DataChild>();
        subListView.add(new DataChild("리스트 뷰 (Code)", ListViewCode.class));
        subListView.add(new DataChild("리스트 뷰 (xml)", ListViewXml.class));
        subListView.add(new DataChild("항목편집(single choice)", ListAddDelSingleChoice.class));
		subListView.add(new DataChild("커스텀 항목 뷰", ListIconText.class));
		subListView.add(new DataChild("커서 어뎁터", CursorAdapterEx.class));
		subListView.add(new DataChild("확장 리스트 뷰", ExpandableListViewEx.class));
		subListView.add(new DataChild("스피너", SpinnerEx.class));
		totalLists.add(new DataHeader("어뎁터 뷰", subListView));
		
		List<DataChild> subListActivity = new ArrayList<DataChild>();
		subListActivity.add(new DataChild("액티비티 추가", CallActivity.class));
		subListActivity.add(new DataChild("액티비티 간 통신", Commactivity.class));
		subListActivity.add(new DataChild("암시적 인텐트", CallOther.class));
		subListActivity.add(new DataChild("명시적 인텐트", CallAdd.class));
		subListActivity.add(new DataChild("상태 저장", SaveState01.class));
		totalLists.add(new DataHeader("액티비티", subListActivity));
		
		List<DataChild> subListThread = new ArrayList<DataChild>();
		subListThread.add(new DataChild("스레드", ThreadEx.class));
		subListThread.add(new DataChild("핸들러", HandlerEx.class));
		subListThread.add(new DataChild("핸들러 Post", HandlerPostEx.class));
		subListThread.add(new DataChild("핸들러 runOnUiThread", Handler_runOnUiThreadEx.class));
		subListThread.add(new DataChild("핸들러-스레드와 액티비티 클래스 분리", Handler_DivideEx.class));
		subListThread.add(new DataChild("핸들러-메시지 재사용", Handler_Divide_ObtainEx.class));
		subListThread.add(new DataChild("LongTime 2", LongTime2.class));
		subListThread.add(new DataChild("LongTime 3", LongTime3.class));
		subListThread.add(new DataChild("LongTime 4", LongTime4.class));
		subListThread.add(new DataChild("LongTime 5", LongTime5.class));
		totalLists.add(new DataHeader("스레드", subListThread));
		
		List<DataChild> subListActionBar = new ArrayList<DataChild>();
		subListActionBar.add(new DataChild("액션바 예제", ActionBarEx.class));
		subListActionBar.add(new DataChild("액션바 숨김", NoActionBar.class));
		subListActionBar.add(new DataChild("액션바 토글", ActionBarShowHide.class));
		subListActionBar.add(new DataChild("액션바 오버레이모드", ActionBarOverlay.class));
		subListActionBar.add(new DataChild("액션바 분할", ActionBarSplit.class));
		subListActionBar.add(new DataChild("앱 로고 아이콘", AppLogoIcon.class));
		subListActionBar.add(new DataChild("액션뷰 ", ActionView.class));
		subListActionBar.add(new DataChild("액션 커스텀 뷰 ", ActionSwitch.class));
		subListActionBar.add(new DataChild("액션 프로바이더 ", ActionProviderEx.class));
		subListActionBar.add(new DataChild("공유 액션 프로바이더 ", ShareAction.class));
		subListActionBar.add(new DataChild("액션 내비게이션탭 ", ActionTab.class));
		subListActionBar.add(new DataChild("액션 내비게이션탭 뷰페이저", ActionTabViewPager.class));
		subListActionBar.add(new DataChild("액션바 꾸미기", DisplayOption.class));
		subListActionBar.add(new DataChild("액션바 액션모드", ActionModeTest.class));
		totalLists.add(new DataHeader("액션바", subListActionBar));
		
		List<DataChild> subListDraw = new ArrayList<DataChild>();
		subListDraw.add(new DataChild("마스크 필터", BlurFilter.class));
		subListDraw.add(new DataChild("뷰를 이용한 그리기", Reflection.class));
		subListDraw.add(new DataChild("서피스 뷰를 이용한 그리기", Reflection2.class));
		totalLists.add(new DataHeader("그리기", subListDraw));
		
		List<DataChild> subListfileio = new ArrayList<DataChild>();
		subListfileio.add(new DataChild("File IO", FileIO.class));
		subListfileio.add(new DataChild("SD Card", SDCard.class));
		subListfileio.add(new DataChild("프레퍼런스 테스트", PrefTest.class));
		subListfileio.add(new DataChild("Preference Activity", PrefActivity.class));
		subListfileio.add(new DataChild("Preference Fragments", SettingsActivity.class));
		subListfileio.add(new DataChild("EditTextPreference", EditPrefsActivity.class));
		totalLists.add(new DataHeader("프레퍼런스", subListfileio));
		
		List<DataChild> subListCp = new ArrayList<DataChild>();
		subListCp.add(new DataChild("English Word", EnglishWord.class));
		subListCp.add(new DataChild("English Word2", EnglishWordEx.class));
		subListCp.add(new DataChild("EnglishWord_CursorLoader", EnglishWord_CursorLoader.class));
		subListCp.add(new DataChild("CursorLoader CursorAdatper", EnglishWord_CursorLoader_Adapter.class));
		subListCp.add(new DataChild("ProductList",ProductList.class));
		subListCp.add(new DataChild("ProductList CursorLoader",ProductList_CursorLoader.class));
		subListCp.add(new DataChild("ProductList CursorLoader Adapter",ProductList_CursorLoader_Adapter.class));
		subListCp.add(new DataChild("Content Provider",CallWordCP.class));
		totalLists.add(new DataHeader("CP", subListCp));
		
		List<DataChild> subListClip = new ArrayList<DataChild>();
		subListClip.add(new DataChild("클립보드", ClipBoard.class));
		totalLists.add(new DataHeader("클립보드", subListClip));
		
		List<DataChild> subListFile = new ArrayList<DataChild>();
		subListFile.add(new DataChild("Frame Animation", FrameAni.class));
		subListFile.add(new DataChild("Animation Attribute", AnimationEx.class));
		subListFile.add(new DataChild("AnimAttr",AnimAttr.class));
		subListFile.add(new DataChild("AnimSet",AnimSet.class));
		subListFile.add(new DataChild("AnimCustom",AnimCustom.class));
		subListFile.add(new DataChild("TweenListener",TweenListener.class));
		subListFile.add(new DataChild("ListView Animation",ListAnim.class));
		subListFile.add(new DataChild("ListView Animation Reverse",ListAnimReverse.class));
		subListFile.add(new DataChild("Activity Animation",ActAnim.class));
		subListFile.add(new DataChild("ViewFlipperEx",ViewFlipperEx.class));
		subListFile.add(new DataChild("TextSwitcherEx",TextSwitcherEx.class));
		totalLists.add(new DataHeader("Animation", subListFile));
		
		List<DataChild> subListGesture = new ArrayList<DataChild>();
		subListGesture.add(new DataChild("제스처 덤프", GestureDump.class));
		subListGesture.add(new DataChild("제스처 스크롤",GestureNavi.class));
		subListGesture.add(new DataChild("커스텀 제스처", CustomGesture.class));
		subListGesture.add(new DataChild("제스처 오버레이", GestureOverlay.class));
		subListGesture.add(new DataChild("터치 덤프", TouchDump.class));
		subListGesture.add(new DataChild("핀치 줌", PinchZoom.class));
		totalLists.add(new DataHeader("제스처", subListGesture));
		
		List<DataChild> subListNetwork = new ArrayList<DataChild>();
		subListNetwork.add(new DataChild("네트워크 상태", ConMgr.class));
		subListNetwork.add(new DataChild("Html 읽기", HtmlRead.class));
		subListNetwork.add(new DataChild("원격 이미지 읽기", RemoteImage.class));
		subListNetwork.add(new DataChild("웹서비스", WebService.class));
		subListNetwork.add(new DataChild("웹서비스(Get)", WebServiceGet.class));
		subListNetwork.add(new DataChild("웹서비스(Post)", WebServicePost.class));
		subListNetwork.add(new DataChild("다운로드 매니저", DownloadManagerEx.class));
		totalLists.add(new DataHeader("네트워크", subListNetwork));
		
		List<DataChild> subListParser = new ArrayList<DataChild>();
		subListParser.add(new DataChild("종류별 파서", MainXml.class));
		totalLists.add(new DataHeader("파서", subListParser));
		
		/*멀티미디어 추가-소스는추가됨*/
		List<DataChild> subListBR = new ArrayList<DataChild>();
		subListBR.add(new DataChild("BR - 01", DetectFree.class));
		subListBR.add(new DataChild("문자메시지", BroadcastReceiverEx.class));
		subListBR.add(new DataChild("BR 방송및 수신", MyBroadcastSenderIntentEx.class));
		subListBR.add(new DataChild("BR 동적 생성", DynamicBR.class));
		subListBR.add(new DataChild("BR 동적 생성 Battery", BatterySDCardTest.class));
		totalLists.add(new DataHeader("브로드캐스트리시버", subListBR));
		
		List<DataChild> subListNoti = new ArrayList<DataChild>();
		subListNoti.add(new DataChild("통지", NapAlarm.class));
		subListNoti.add(new DataChild("알람", AlarmTest.class));
		totalLists.add(new DataHeader("통지", subListNoti));
		
		List<DataChild> subListService = new ArrayList<DataChild>();
		subListService.add(new DataChild("음악서비스", MusicServiceTest.class));
		subListService.add(new DataChild("Intent Service", NewsController.class));
		subListService.add(new DataChild("Bind Service", BoundServiceTest.class));
		subListService.add(new DataChild("Messenger Service", MessengerServiceTest.class));
		totalLists.add(new DataHeader("서비스", subListService));
	}

	
	class DataHeader {
		String headerTitle;
		List<DataChild> subList;
		
		public DataHeader(String headerTitle, List<DataChild> subList) {
			this.headerTitle = headerTitle;
			this.subList = subList;
		}

	}
	
	class DataChild {
		String subTitle;
		Class<?> clsInfo;
		
		public DataChild(String subTitle, Class<?> cls) {
			this.subTitle = subTitle;
			this.clsInfo = cls;
		}
	}
}
